diff --git a/application/config/config.php b/application/config/config.php
index 880393c..a6d10d8 100644
--- a/application/config/config.php
+++ b/application/config/config.php
@@ -79,6 +79,8 @@
 | This determines which character set is used by default in various methods
 | that require a character set to be provided.
 |
+| See http://php.net/htmlspecialchars for a list of supported charsets.
+|
 */
 $config['charset'] = 'UTF-8';
 
diff --git a/application/config/database.php b/application/config/database.php
index b4b34bf..5a84a47 100644
--- a/application/config/database.php
+++ b/application/config/database.php
@@ -17,7 +17,7 @@
 |	['password'] The password used to connect to the database
 |	['database'] The name of the database you want to connect to
 |	['dbdriver'] The database type. ie: mysql.  Currently supported:
-				 mysql, mysqli, postgre, odbc, mssql, sqlite, oci8
+				 mysql, mysqli, pdo, postgre, odbc, mssql, sqlite, oci8
 |	['dbprefix'] You can add an optional prefix, which will be added
 |				 to the table name when using the  Active Record class
 |	['pconnect'] TRUE/FALSE - Whether to use a persistent connection
diff --git a/application/config/doctypes.php b/application/config/doctypes.php
index f7e1d19..c9f16ee 100644
--- a/application/config/doctypes.php
+++ b/application/config/doctypes.php
@@ -5,6 +5,7 @@
 					'xhtml1-strict'	=> '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">',
 					'xhtml1-trans'	=> '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">',
 					'xhtml1-frame'	=> '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">',
+					'xhtml-basic11'	=> '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd">',
 					'html5'			=> '<!DOCTYPE html>',
 					'html4-strict'	=> '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">',
 					'html4-trans'	=> '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">',
diff --git a/application/config/foreign_chars.php b/application/config/foreign_chars.php
index 14b0d73..0b037d5 100644
--- a/application/config/foreign_chars.php
+++ b/application/config/foreign_chars.php
@@ -18,8 +18,8 @@
 	'/à|á|â|ã|å|ǻ|ā|ă|ą|ǎ|ª/' => 'a',
 	'/Ç|Ć|Ĉ|Ċ|Č/' => 'C',
 	'/ç|ć|ĉ|ċ|č/' => 'c',
-	'/Ð|Ď|Đ/' => 'D',
-	'/ð|ď|đ/' => 'd',
+	'/Ð|Ď|Đ/' => 'Dj',
+	'/ð|ď|đ/' => 'dj',
 	'/È|É|Ê|Ë|Ē|Ĕ|Ė|Ę|Ě/' => 'E',
 	'/è|é|ê|ë|ē|ĕ|ė|ę|ě/' => 'e',
 	'/Ĝ|Ğ|Ġ|Ģ/' => 'G',
diff --git a/application/config/migration.php b/application/config/migration.php
index d88554d..41b8962 100644
--- a/application/config/migration.php
+++ b/application/config/migration.php
@@ -1,3 +1,4 @@
+<<<<<<< HEAD:application/config/migration.php
 <?php defined('BASEPATH') OR exit('No direct script access allowed');
 /*
 |--------------------------------------------------------------------------
@@ -39,4 +40,76 @@
 
 
 /* End of file migration.php */
+=======
+<?php defined('BASEPATH') OR exit('No direct script access allowed');
+/*
+|--------------------------------------------------------------------------
+| Enable/Disable Migrations
+|--------------------------------------------------------------------------
+|
+| Migrations are disabled by default for security reasons.
+| You should enable migrations whenever you intend to do a schema migration
+| and disable it back when you're done.
+|
+*/
+$config['migration_enabled'] = FALSE;
+
+/*
+|--------------------------------------------------------------------------
+| Migrations table
+|--------------------------------------------------------------------------
+|
+| This is the name of the table that will store the current migrations state.
+| When migrations runs it will store in a database table which migration 
+| level the system is at. It then compares the migration level in the this
+| table to the $config['migration_version'] if they are not the same it
+| will migrate up. This must be set.
+|
+*/
+$config['migration_table'] = 'migrations';
+
+
+/*
+|--------------------------------------------------------------------------
+| Auto Migrate To Latest
+|--------------------------------------------------------------------------
+|
+| If this is set to TRUE when you load the migrations class and have 
+| $config['migration_enabled'] set to TRUE the system will auto migrate
+| to your latest migration (whatever $config['migration_version'] is
+| set to). This way you do not have to call migrations anywhere else
+| in your code to have the latest migration.
+|
+*/
+$config['migration_auto_latest'] = FALSE;
+
+
+/*
+|--------------------------------------------------------------------------
+| Migrations version
+|--------------------------------------------------------------------------
+|
+| This is used to set migration version that the file system should be on.
+| If you run $this->migration->latest() this is the version that schema will
+| be upgraded / downgraded to.
+|
+*/
+$config['migration_version'] = 0;
+
+
+/*
+|--------------------------------------------------------------------------
+| Migrations Path
+|--------------------------------------------------------------------------
+|
+| Path to your migrations folder.
+| Typically, it will be within your application path.
+| Also, writing permission is required within the migrations path.
+|
+*/
+$config['migration_path'] = APPPATH . 'migrations/';
+
+
+/* End of file migration.php */
+>>>>>>> a2125a5d830fd390b4cf35f77e9bb0558cfa2dd7:application/config/migration.php
 /* Location: ./application/config/migration.php */
\ No newline at end of file
diff --git a/application/config/mimes.php b/application/config/mimes.php
index 90a1d18..6f73ae0 100644
--- a/application/config/mimes.php
+++ b/application/config/mimes.php
@@ -8,7 +8,7 @@
 |
 */
 
-$mimes = array('hqx'   =>      array('application/mac-binhex40', 'application/mac-binhex', 'application/x-binhex40', 'application/x-mac-binhex40'),
+$mimes = array('hqx'	=>	array('application/mac-binhex40', 'application/mac-binhex', 'application/x-binhex40', 'application/x-mac-binhex40'),
 				'cpt'	=>	'application/mac-compactpro',
 				'csv'	=>	array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel'),
 				'bin'	=>	array('application/macbinary', 'application/mac-binary', 'application/octet-stream', 'application/x-binary', 'application/x-macbinary'),
@@ -66,7 +66,7 @@
 				'rpm'	=>	'audio/x-pn-realaudio-plugin',
 				'ra'	=>	'audio/x-realaudio',
 				'rv'	=>	'video/vnd.rn-realvideo',
-				'wav'	=>	'audio/x-wav',
+				'wav'	=>	array('audio/x-wav', 'audio/wave', 'audio/wav'),
 				'bmp'	=>	array('image/bmp', 'image/x-windows-bmp'),
 				'gif'	=>	'image/gif',
 				'jpeg'	=>	array('image/jpeg', 'image/pjpeg'),
@@ -137,4 +137,4 @@
 
 
 /* End of file mimes.php */
-/* Location: ./application/config/mimes.php */
\ No newline at end of file
+/* Location: ./application/config/mimes.php */
diff --git a/application/config/routes.php b/application/config/routes.php
index 5f9a583..f30a0d1 100644
--- a/application/config/routes.php
+++ b/application/config/routes.php
@@ -23,7 +23,7 @@
 | RESERVED ROUTES
 | -------------------------------------------------------------------------
 |
-| There area two reserved routes:
+| There are two reserved routes:
 |
 |	$route['default_controller'] = 'welcome';
 |
diff --git a/application/config/smileys.php b/application/config/smileys.php
index 25d28b2..38f02a9 100644
--- a/application/config/smileys.php
+++ b/application/config/smileys.php
@@ -60,7 +60,7 @@
 	':exclaim:'		=>	array('exclaim.gif',		'19',	'19',	'excaim'),
 	':question:'	=>	array('question.gif',		'19',	'19',	'question') // no comma after last item
 
-		);
+);
 
 /* End of file smileys.php */
 /* Location: ./application/config/smileys.php */
\ No newline at end of file
diff --git a/application/config/user_agents.php b/application/config/user_agents.php
index e2d3c3a..9080b43 100644
--- a/application/config/user_agents.php
+++ b/application/config/user_agents.php
@@ -11,167 +11,169 @@
 */
 
 $platforms = array (
-					'windows nt 6.0'	=> 'Windows Longhorn',
+					'windows nt 6.1'	=> 'Windows 7',
+					'windows nt 6.0'	=> 'Windows Vista',
 					'windows nt 5.2'	=> 'Windows 2003',
-					'windows nt 5.0'	=> 'Windows 2000',
 					'windows nt 5.1'	=> 'Windows XP',
+					'windows nt 5.0'	=> 'Windows 2000',
 					'windows nt 4.0'	=> 'Windows NT 4.0',
-					'winnt4.0'			=> 'Windows NT 4.0',
-					'winnt 4.0'			=> 'Windows NT',
-					'winnt'				=> 'Windows NT',
+					'winnt4.0'		=> 'Windows NT 4.0',
+					'winnt 4.0'		=> 'Windows NT',
+					'winnt'			=> 'Windows NT',
 					'windows 98'		=> 'Windows 98',
-					'win98'				=> 'Windows 98',
+					'win98'			=> 'Windows 98',
 					'windows 95'		=> 'Windows 95',
-					'win95'				=> 'Windows 95',
-					'windows'			=> 'Unknown Windows OS',
-					'os x'				=> 'Mac OS X',
-					'ppc mac'			=> 'Power PC Mac',
-					'freebsd'			=> 'FreeBSD',
-					'ppc'				=> 'Macintosh',
-					'linux'				=> 'Linux',
-					'debian'			=> 'Debian',
-					'sunos'				=> 'Sun Solaris',
-					'beos'				=> 'BeOS',
+					'win95'			=> 'Windows 95',
+					'windows'		=> 'Unknown Windows OS',
+					'os x'			=> 'Mac OS X',
+					'ppc mac'		=> 'Power PC Mac',
+					'freebsd'		=> 'FreeBSD',
+					'ppc'			=> 'Macintosh',
+					'linux'			=> 'Linux',
+					'debian'		=> 'Debian',
+					'sunos'			=> 'Sun Solaris',
+					'beos'			=> 'BeOS',
 					'apachebench'		=> 'ApacheBench',
-					'aix'				=> 'AIX',
-					'irix'				=> 'Irix',
-					'osf'				=> 'DEC OSF',
-					'hp-ux'				=> 'HP-UX',
-					'netbsd'			=> 'NetBSD',
-					'bsdi'				=> 'BSDi',
-					'openbsd'			=> 'OpenBSD',
-					'gnu'				=> 'GNU/Linux',
-					'unix'				=> 'Unknown Unix OS'
+					'aix'			=> 'AIX',
+					'irix'			=> 'Irix',
+					'osf'			=> 'DEC OSF',
+					'hp-ux'			=> 'HP-UX',
+					'netbsd'		=> 'NetBSD',
+					'bsdi'			=> 'BSDi',
+					'openbsd'		=> 'OpenBSD',
+					'gnu'			=> 'GNU/Linux',
+					'unix'			=> 'Unknown Unix OS'
 				);
 
 
 // The order of this array should NOT be changed. Many browsers return
 // multiple browser types so we want to identify the sub-type first.
 $browsers = array(
-					'Flock'				=> 'Flock',
-					'Chrome'			=> 'Chrome',
-					'Opera'				=> 'Opera',
-					'MSIE'				=> 'Internet Explorer',
+					'Flock'			=> 'Flock',
+					'Chrome'		=> 'Chrome',
+					'Opera'			=> 'Opera',
+					'MSIE'			=> 'Internet Explorer',
 					'Internet Explorer'	=> 'Internet Explorer',
-					'Shiira'			=> 'Shiira',
-					'Firefox'			=> 'Firefox',
-					'Chimera'			=> 'Chimera',
-					'Phoenix'			=> 'Phoenix',
-					'Firebird'			=> 'Firebird',
-					'Camino'			=> 'Camino',
-					'Netscape'			=> 'Netscape',
-					'OmniWeb'			=> 'OmniWeb',
-					'Safari'			=> 'Safari',
-					'Mozilla'			=> 'Mozilla',
-					'Konqueror'			=> 'Konqueror',
-					'icab'				=> 'iCab',
-					'Lynx'				=> 'Lynx',
-					'Links'				=> 'Links',
-					'hotjava'			=> 'HotJava',
-					'amaya'				=> 'Amaya',
-					'IBrowse'			=> 'IBrowse'
+					'Shiira'		=> 'Shiira',
+					'Firefox'		=> 'Firefox',
+					'Chimera'		=> 'Chimera',
+					'Phoenix'		=> 'Phoenix',
+					'Firebird'		=> 'Firebird',
+					'Camino'		=> 'Camino',
+					'Netscape'		=> 'Netscape',
+					'OmniWeb'		=> 'OmniWeb',
+					'Safari'		=> 'Safari',
+					'Mozilla'		=> 'Mozilla',
+					'Konqueror'		=> 'Konqueror',
+					'icab'			=> 'iCab',
+					'Lynx'			=> 'Lynx',
+					'Links'			=> 'Links',
+					'hotjava'		=> 'HotJava',
+					'amaya'			=> 'Amaya',
+					'IBrowse'		=> 'IBrowse'
 				);
 
 $mobiles = array(
 					// legacy array, old values commented out
 					'mobileexplorer'	=> 'Mobile Explorer',
-//					'openwave'			=> 'Open Wave',
+//					'openwave'		=> 'Open Wave',
 //					'opera mini'		=> 'Opera Mini',
-//					'operamini'			=> 'Opera Mini',
-//					'elaine'			=> 'Palm',
+//					'operamini'		=> 'Opera Mini',
+//					'elaine'		=> 'Palm',
 					'palmsource'		=> 'Palm',
 //					'digital paths'		=> 'Palm',
-//					'avantgo'			=> 'Avantgo',
-//					'xiino'				=> 'Xiino',
-					'palmscape'			=> 'Palmscape',
-//					'nokia'				=> 'Nokia',
-//					'ericsson'			=> 'Ericsson',
+//					'avantgo'		=> 'Avantgo',
+//					'xiino'			=> 'Xiino',
+					'palmscape'		=> 'Palmscape',
+//					'nokia'			=> 'Nokia',
+//					'ericsson'		=> 'Ericsson',
 //					'blackberry'		=> 'BlackBerry',
-//					'motorola'			=> 'Motorola'
+//					'motorola'		=> 'Motorola'
 
 					// Phones and Manufacturers
-					'motorola'			=> "Motorola",
-					'nokia'				=> "Nokia",
-					'palm'				=> "Palm",
-					'iphone'			=> "Apple iPhone",
-					'ipad'				=> "iPad",
-					'ipod'				=> "Apple iPod Touch",
-					'sony'				=> "Sony Ericsson",
-					'ericsson'			=> "Sony Ericsson",
+					'motorola'		=> "Motorola",
+					'nokia'			=> "Nokia",
+					'palm'			=> "Palm",
+					'iphone'		=> "Apple iPhone",
+					'ipad'			=> "iPad",
+					'ipod'			=> "Apple iPod Touch",
+					'sony'			=> "Sony Ericsson",
+					'ericsson'		=> "Sony Ericsson",
 					'blackberry'		=> "BlackBerry",
-					'cocoon'			=> "O2 Cocoon",
-					'blazer'			=> "Treo",
-					'lg'				=> "LG",
-					'amoi'				=> "Amoi",
-					'xda'				=> "XDA",
-					'mda'				=> "MDA",
-					'vario'				=> "Vario",
-					'htc'				=> "HTC",
-					'samsung'			=> "Samsung",
-					'sharp'				=> "Sharp",
-					'sie-'				=> "Siemens",
-					'alcatel'			=> "Alcatel",
-					'benq'				=> "BenQ",
-					'ipaq'				=> "HP iPaq",
-					'mot-'				=> "Motorola",
+					'cocoon'		=> "O2 Cocoon",
+					'blazer'		=> "Treo",
+					'lg'			=> "LG",
+					'amoi'			=> "Amoi",
+					'xda'			=> "XDA",
+					'mda'			=> "MDA",
+					'vario'			=> "Vario",
+					'htc'			=> "HTC",
+					'samsung'		=> "Samsung",
+					'sharp'			=> "Sharp",
+					'sie-'			=> "Siemens",
+					'alcatel'		=> "Alcatel",
+					'benq'			=> "BenQ",
+					'ipaq'			=> "HP iPaq",
+					'mot-'			=> "Motorola",
 					'playstation portable'	=> "PlayStation Portable",
-					'hiptop'			=> "Danger Hiptop",
-					'nec-'				=> "NEC",
-					'panasonic'			=> "Panasonic",
-					'philips'			=> "Philips",
-					'sagem'				=> "Sagem",
-					'sanyo'				=> "Sanyo",
-					'spv'				=> "SPV",
-					'zte'				=> "ZTE",
-					'sendo'				=> "Sendo",
+					'hiptop'		=> "Danger Hiptop",
+					'nec-'			=> "NEC",
+					'panasonic'		=> "Panasonic",
+					'philips'		=> "Philips",
+					'sagem'			=> "Sagem",
+					'sanyo'			=> "Sanyo",
+					'spv'			=> "SPV",
+					'zte'			=> "ZTE",
+					'sendo'			=> "Sendo",
 
-					// Operating Systems
-					'symbian'				=> "Symbian",
-					'SymbianOS'				=> "SymbianOS",
-					'elaine'				=> "Palm",
-					'palm'					=> "Palm",
-					'series60'				=> "Symbian S60",
-					'windows ce'			=> "Windows CE",
+// Operating Systems
+					'android'		=> "Android",
+					'symbian'		=> "Symbian",
+					'SymbianOS'		=> "SymbianOS",
+					'elaine'		=> "Palm",
+					'palm'			=> "Palm",
+					'series60'		=> "Symbian S60",
+					'windows ce'		=> "Windows CE",
 
 					// Browsers
-					'obigo'					=> "Obigo",
-					'netfront'				=> "Netfront Browser",
-					'openwave'				=> "Openwave Browser",
-					'mobilexplorer'			=> "Mobile Explorer",
-					'operamini'				=> "Opera Mini",
-					'opera mini'			=> "Opera Mini",
+					'obigo'			=> "Obigo",
+					'netfront'		=> "Netfront Browser",
+					'openwave'		=> "Openwave Browser",
+					'mobilexplorer'		=> "Mobile Explorer",
+					'operamini'		=> "Opera Mini",
+					'opera mini'		=> "Opera Mini",
 
 					// Other
-					'digital paths'			=> "Digital Paths",
-					'avantgo'				=> "AvantGo",
-					'xiino'					=> "Xiino",
-					'novarra'				=> "Novarra Transcoder",
-					'vodafone'				=> "Vodafone",
-					'docomo'				=> "NTT DoCoMo",
-					'o2'					=> "O2",
+					'digital paths'		=> "Digital Paths",
+					'avantgo'		=> "AvantGo",
+					'xiino'			=> "Xiino",
+					'novarra'		=> "Novarra Transcoder",
+					'vodafone'		=> "Vodafone",
+					'docomo'		=> "NTT DoCoMo",
+					'o2'			=> "O2",
 
 					// Fallback
-					'mobile'				=> "Generic Mobile",
-					'wireless'				=> "Generic Mobile",
-					'j2me'					=> "Generic Mobile",
-					'midp'					=> "Generic Mobile",
-					'cldc'					=> "Generic Mobile",
-					'up.link'				=> "Generic Mobile",
-					'up.browser'			=> "Generic Mobile",
-					'smartphone'			=> "Generic Mobile",
-					'cellphone'				=> "Generic Mobile"
+					'mobile'		=> "Generic Mobile",
+					'wireless'		=> "Generic Mobile",
+					'j2me'			=> "Generic Mobile",
+					'midp'			=> "Generic Mobile",
+					'cldc'			=> "Generic Mobile",
+					'up.link'		=> "Generic Mobile",
+					'up.browser'		=> "Generic Mobile",
+					'smartphone'		=> "Generic Mobile",
+					'cellphone'		=> "Generic Mobile"
 				);
 
 // There are hundreds of bots but these are the most common.
 $robots = array(
-					'googlebot'			=> 'Googlebot',
-					'msnbot'			=> 'MSNBot',
-					'slurp'				=> 'Inktomi Slurp',
-					'yahoo'				=> 'Yahoo',
-					'askjeeves'			=> 'AskJeeves',
+					'googlebot'		=> 'Googlebot',
+					'msnbot'		=> 'MSNBot',
+					'slurp'			=> 'Inktomi Slurp',
+					'yahoo'			=> 'Yahoo',
+					'askjeeves'		=> 'AskJeeves',
 					'fastcrawler'		=> 'FastCrawler',
-					'infoseek'			=> 'InfoSeek Robot 1.0',
-					'lycos'				=> 'Lycos'
+					'infoseek'		=> 'InfoSeek Robot 1.0',
+					'lycos'			=> 'Lycos'
 				);
 
 /* End of file user_agents.php */
